/*
    1. 定义枚举类，枚举出日志等级
    2. 提供将日志等级转换成字符串的接口
    七个等级：
        UNKNOW 未知错误  DEBUG 调试信息  INFO 提示信息  
        WARN 警告  ERROR 错误  FATAL 致命  OFF 关闭日志输出
*/
#pragma once

#include <iostream>
#include <string>

namespace XKL
{
    class LogLevel
    {
    public:
        enum Value
        {
            UNKNOW,
            DEBUG,
            INFO,
            WARN,
            ERROR,
            FATAL,
            OFF
        };
        // 枚举常量转字符串
        static std::string ToString(Value va)
        {
            switch (va)
            {
            case DEBUG:
                return "DEBUG";
            case INFO:
                return "INFO";
            case WARN:
                return "WARN";
            case ERROR:
                return "ERROR";
            case FATAL:
                return "FATAL";
            case OFF:
                return "OFF";
            }

            return "UNKNOW";
        }
    };
}